5       o88%8888888b
 5    88'- -:88888888b
 5   8         88888888
5   d8.-=. ,==-.:8888888
 5  88 `121` :`121' 5 d888888
   5 88b.1 `-~   5':88888
 5  888b4 ~==~ 1.5:888888
  5 88888o--:':::5 888888
 5  `88888  ::::5 88888b
 5  8888^^'      5 88888b
5 d888          5 ,%88888.
5 d88%         5   %%%8--'-
5/88:1.__ ,       _5%-'1 ---  -
   1 '''::===..-'   =  --.   `